home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
DEMO_VGA
/
DEMOCGA.LZH
/
NUKE-LA.BAS
< prev
next >
Wrap
BASIC Source File
|
1980-01-01
|
12KB
|
326 lines
1 ' SWITCH TO COLOR ADAPTER
2 CLS:KEY OFF
3 DEF SEG = 0
4 POKE &H410, (PEEK(&H410) AND &HCF) OR &H10
5 SCREEN 1,0,0,0
6 SCREEN 0
7 WIDTH 40
8 LOCATE ,,1,6,7
9 KEY ON
100 REM-Nuclear attack simulator
110 REM-by A.S. KANTER
120 REM-Original program by J.R. DUKAT
130 REM-Information presented is as good as my sources allow
140 REM-any corrections or improvements are welcomed........
150 REM
160 REM-start it up
170 SCREEN 1:CLS:KEY OFF
180 LOCATE 6,10,0:PRINT "DO YOU LOVE LOS ANGELES?";
190 FOR T=1 TO 3000:NEXT T:CLS
200 GOTO 250
210 GOSUB 3020
220 GOSUB 2990
230 SCREEN 1
240 CLS
250 COLOR 1,0
260 KEY OFF
270 LINE (158,3)-(339,20),2,B
280 LINE (158,27)-(338,190),2,B
290 LOCATE 2,21:PRINT " MAP....LOS ANGELES";
300 SCALE=1
310 XT=-140:YT=120
320 IBMX=150+(XT*SCALE):IBMY=99-((YT)*SCALE)
330 FLG=0
340 READ X,Y
350 IF X=999 AND Y=999 THEN 330
360 IF X=888 AND Y=888 THEN 460
370 X=X+TX:Y=Y+TY
380 X0=TX:Y0=TY
390 X=IBMX+X:Y=IBMY-(Y)
400 PSET (X,Y),1
410 IF FLG=0 THEN 430
420 LINE (X,Y)-(LASTX,LASTY)
430 LASTX=X:LASTY=Y
440 FLG=1
450 GOTO 340
460 READ X,Y
470 IF X=999 AND Y=999 THEN 500
480 PAINT (X,Y),2,3
490 GOTO 460
500 GOSUB 3070 ;DRAW COMPASS ROSE
510 IF NXTBOMB=1 THEN 2380
520 LOCATE 5,21:PRINT " This map covers ";
530 LOCATE 6,21:PRINT " an area of appx. ";
540 LOCATE 7,21:PRINT " 1700 sq/mi. The ";
550 LOCATE 8,21:PRINT " long dimension is";
560 LOCATE 9,21:PRINT " about 50 miles - ";
570 LOCATE 10,21:PRINT " short dimension ";
580 LOCATE 11,21:PRINT " about 34 miles. ";
590 LOCATE 12,21:PRINT " Downtown La is ";
600 LOCATE 13,21:PRINT " near the center ";
610 LOCATE 14,21:PRINT " of the map. Long";
620 LOCATE 15,21:PRINT " Beach can be seen";
630 LOCATE 16,21:PRINT " in the south. The";
640 LOCATE 17,21:PRINT " Pacific Ocean ";
650 LOCATE 18,21:PRINT " lies all along ";
660 LOCATE 19,21:PRINT " the West. River-";
670 LOCATE 20,21:PRINT " side and San ";
680 FOR T=1 TO 9000:NEXT T
690 GOSUB 3020 ;CLEAR BIG BOX
700 LOCATE 5,21:PRINT " Bernadino lie off";
710 LOCATE 6,21:PRINT " the map to the ";
720 LOCATE 7,21:PRINT " east. UCLA and ";
730 LOCATE 8,21:PRINT " Westwood lie near";
740 LOCATE 9,21:PRINT " the coast, about ";
750 LOCATE 10,21:PRINT " midway up the map";
760 FOR T=1 TO 8000:NEXT T
770 GOSUB 3020
780 LOCATE 5,21:PRINT " This program is ";
790 LOCATE 6,21:PRINT " to demonstrate ";
800 LOCATE 7,21:PRINT " effects from var-";
810 LOCATE 8,21:PRINT " ious nuclear war-";
820 LOCATE 9,21:PRINT " heads which might";
830 LOCATE 10,21:PRINT " be used in attack";
840 LOCATE 11,21:PRINT " ing Los Angeles..";
850 LOCATE 12,21:PRINT " This attack will ";
860 LOCATE 13,21:PRINT " consist of just ";
870 LOCATE 14,21:PRINT " nine 1 MT. bombs.";
880 LOCATE 15,21:PRINT " They will explode";
890 LOCATE 16,21:PRINT " at an altitude of";
900 LOCATE 17,21:PRINT " 8000 ft. This sim";
910 LOCATE 18,21:PRINT " ulation would be ";
920 LOCATE 19,21:PRINT " considered on the";
930 LOCATE 20,21:PRINT " conservative side";
940 LOCATE 21,21:PRINT " A maximum attack ";
950 LOCATE 22,21:PRINT " would use around ";
960 LOCATE 23,21:PRINT " 60 warheads......";
970 FOR T=1 TO 11000:NEXT T
980 GOSUB 3020
990 TMR=2000
1000 GOSUB 2990
1010 LOCATE 2,21:PRINT " Select Targets ";
1020 LINE (158,27)-(338,190),2,B
1030 LOCATE 5,21:PRINT " Downtown LA ";
1040 SOUND 500,1:PSET (77,87),1
1050 FOR T=1 TO TMR:NEXT T
1060 LOCATE 6,21:PRINT " Beverly Hills ";
1070 SOUND 500,1:PSET (62,70),1
1080 FOR T=1 TO TMR:NEXT T
1090 LOCATE 7,21:PRINT " LAX ";
1100 SOUND 500,1:PSET (60,108),1
1110 FOR T=1 TO TMR:NEXT T
1120 LOCATE 8,21:PRINT " Long Beach ";
1130 SOUND 500,1:PSET (112,153),1
1140 FOR T=1 TO TMR:NEXT T
1150 LOCATE 9,21:PRINT " Santa Monica ";
1160 SOUND 500,1:PSET (50,90),1
1170 FOR T=1 TO TMR:NEXT T
1180 LOCATE 10,21:PRINT " Burbank Air. ";
1190 SOUND 500,1:PSET (72,20),1
1200 FOR T=1 TO TMR:NEXT T
1210 LOCATE 11,21:PRINT " Torrance ";
1220 SOUND 500,1:PSET (84,140),1
1230 FOR T=1 TO TMR:NEXT T
1240 LOCATE 12,21:PRINT " Downey ";
1250 SOUND 500,1:PSET (122,109),1
1260 FOR T=1 TO TMR:NEXT T
1270 LOCATE 13,21:PRINT " Northridge ";
1280 SOUND 500,1:PSET (35,10),1
1290 FOR T=1 TO TMR:NEXT T
1300 FOR I=5 TO 13
1310 LOCATE I,22:PRINT CHR$(26);
1320 SOUND 1000,1:FOR T=1 TO 50:NEXT T
1330 NEXT I
1340 LOCATE 2,21:PRINT " Targets Confirmed ";
1350 FOR T=1 TO 4000:NEXT T
1360 GOSUB 3020
1370 FOR S=1 TO 50:SOUND 9000,.5:SOUND 8000,.5:NEXT S
1380 LOCATE 2,21:PRINT " Warhead Size ";
1390 LOCATE 5,21:PRINT " Each warhead is ";
1400 LOCATE 6,21:PRINT " one megaton - the ";
1410 LOCATE 7,21:PRINT " equivalent of one ";
1420 LOCATE 8,21:PRINT " million tons of ";
1430 LOCATE 9,21:PRINT " TNT. ";
1440 LOCATE 11,21:PRINT " Warheads are set ";
1450 LOCATE 12,21:PRINT " to airburst at an ";
1460 LOCATE 13,21:PRINT " altitude of 8000 ";
1470 LOCATE 14,21:PRINT " feet. ";
1480 FOR T=1 TO 5000:NEXT T
1490 GOSUB 3020:GOSUB 2990
1500 SOUND 8000,.5
1510 LOCATE 2,21:PRINT " Targets Marked ";
1520 PSET (77,87),Z
1530 PSET (62,70),Z
1540 PSET (60,108),Z
1550 PSET (112,153),Z
1560 PSET (50,90),Z
1570 PSET (72,20),Z
1580 PSET (84,140),Z
1590 PSET (122,109),Z
1600 PSET (35,10),Z
1610 C=C+1:IF C=150 THEN 1640
1620 IF Z=1 THEN Z=0 ELSE Z=1
1630 GOTO 1520
1640 LOCATE 2,21:PRINT " Time to detonate ";
1650 FOR CD=10 TO 3 STEP -1
1660 LOCATE 6,23:PRINT USING "####";CD;
1670 LOCATE 6,28:PRINT "seconds";
1680 FOR T=1 TO 1000:NEXT T
1690 NEXT CD
1700 GOSUB 3020
1710 FOR S=1 TO 50:SOUND 4000,.5:SOUND 4500,.5:NEXT S
1720 LOCATE 2,21:PRINT " -- DETONATION -- ";
1730 S=1:I=5:R=0:GOSUB 2740
1740 LOCATE 5,21:PRINT " ZONE 1 ";
1750 LOCATE 7,21:PRINT " Diameter 3 mi. ";
1760 LOCATE 10,21:PRINT " Overpress. 25 psi ";
1770 LOCATE 11,21:PRINT " Wind Vel. 320 mph ";
1780 LOCATE 13,21:PRINT " All structures ";
1790 LOCATE 14,21:PRINT " above ground are ";
1800 LOCATE 15,21:PRINT " destroyed. ";
1810 LOCATE 17,21:PRINT " 98 % fatalities ";
1820 LOCATE 19,21:PRINT " STBY FOR ZONE 2 ";
1830 FOR T=1 TO 5500:NEXT T
1840 GOSUB 3020
1850 S=6:I=10:R=3:GOSUB 2740
1860 LOCATE 5,21:PRINT " ZONE 2 ";
1870 LOCATE 7,21:PRINT " Diameter 6 miles ";
1880 LOCATE 10,21:PRINT " Overpress. 9 psi ";
1890 LOCATE 11,21:PRINT " Wind Vel. 260 mph ";
1900 LOCATE 13,21:PRINT " Factories/office ";
1910 LOCATE 14,21:PRINT " buildings collapse";
1920 LOCATE 15,21:PRINT " Severe damage to ";
1930 LOCATE 16,21:PRINT " highway bridges. ";
1940 LOCATE 17,21:PRINT " 50% dead 40% inj. ";
1950 LOCATE 19,21:PRINT " STBY FOR ZONE 3 ";
1960 FOR T=1 TO 5500:NEXT T
1970 GOSUB 3020
1980 I=19:R=1:GOSUB 2640 ;DRAW CIRCLES
1990 LOCATE 5,21:PRINT " ZONE 3 ";
2000 LOCATE 7,21:PRINT " Diameter 10 mi. ";
2010 LOCATE 10,21:PRINT " Overpress. 3 psi ";
2020 LOCATE 11,21:PRINT " Wind Vel. 98 mph ";
2030 LOCATE 13,21:PRINT " Wood frame resid-";
2040 LOCATE 14,21:PRINT " ences severely ";
2050 LOCATE 15,21:PRINT " damaged. People ";
2060 LOCATE 16,21:PRINT " are blown around. ";
2070 LOCATE 17,21:PRINT " 2nd degree burns. ";
2080 LOCATE 18,21:PRINT " 10% dead 45% inj. ";
2090 LOCATE 20,21:PRINT " STBY FOR MORE.. ";
2100 FOR T=1 TO 5500:NEXT T
2110 GOSUB 3020
2120 LOCATE 5,21:PRINT " LONG RANGE EFFECT ";
2130 LOCATE 7,21:PRINT " Light door/plaster";
2140 LOCATE 8,21:PRINT " damage to 14.5 mi.";
2150 LOCATE 9,21:PRINT " Windows broken out";
2160 LOCATE 10,21:PRINT " to 30 miles. ";
2170 LOCATE 12,21:PRINT " Flashblindness to ";
2180 LOCATE 13,21:PRINT " 13 miles daytime. ";
2190 LOCATE 14,21:PRINT " and to 50 miles at";
2200 LOCATE 15,21:PRINT " night clear sky. ";
2210 FOR T=1 TO 5500:NEXT T
2220 GOSUB 3020:GOSUB 2990
2230 LOCATE 2,21:PRINT " WANNA SEE WORSE ? ";
2240 LOCATE 5,21:PRINT " If you wait just a";
2250 LOCATE 6,21:PRINT " second i'll redraw";
2260 LOCATE 7,21:PRINT " the map and drop ";
2270 LOCATE 8,21:PRINT " just one 20 MT.war";
2280 LOCATE 9,21:PRINT " head centered on ";
2290 LOCATE 10,21:PRINT " Downtown LA. ";
2300 LOCATE 11,21:PRINT " I will mark zones ";
2310 LOCATE 12,21:PRINT " as before... ";
2320 LOCATE 13,21:PRINT " Burst altitude for";
2330 LOCATE 14,21:PRINT " this device will ";
2340 LOCATE 15,21:PRINT " be 17500 feet... ";
2350 NXTBOMB=1
2360 FOR T=1 TO 9000:NEXT T
2370 RESTORE:GOTO 210
2380 SOUND 2000,1
2390 LOCATE 2,21:PRINT " Target Los Angeles";
2400 LOCATE 5,21:PRINT " 20 MT. WARHEAD ";
2410 PSET (77,87),0
2420 FOR T=1 TO 3000:NEXT T
2430 SOUND 5000,1:LOCATE 2,21:PRINT " -- DETONATION -- ";
2440 S=1:I=16:R=0:GOSUB 2880:S=17:I=23:R=1:GOSUB 2880
2450 CIRCLE (77,87),40,1
2460 FOR T=1 TO 3000:NEXT T
2470 GOSUB 3020
2480 LOCATE 6,21:PRINT " -FOR COMPARISON- ";
2490 LOCATE 8,21:PRINT " I'll drop a 12.5 ";
2500 LOCATE 9,21:PRINT " kiloton bomb on ";
2510 LOCATE 10,21:PRINT " Long Beach. ";
2520 LOCATE 11,21:PRINT " (Hiroshima size)..";
2530 S=1:I=2:R=0:GOSUB 2950:S=3:I=4:R=3:GOSUB 2950
2540 FOR T=1 TO 10000:NEXT T:CLS:SCREEN 0:WIDTH 80
2550 LOCATE 10,15,0
2560 PRINT " Projection for U.S. & SOVIET warhead numbers for 1985"
2570 LOCATE 11,15,0
2580 PRINT " is a grand total of roughly 40000 of various sizes..."
2590 LOCATE 12,15,0
2600 PRINT " This total does not include other nuclear powers ..."
2610 LOCATE 17,19,0
2620 PRINT " BYE/BYE & GOOD LUCK"
2630 FOR T=1 TO 9000:NEXT T:LOCATE 1,1,1:END
2640 CIRCLE (77,87),I,R
2650 CIRCLE (62,70),I,R
2660 CIRCLE (60,108),I,R
2670 CIRCLE (112,153),I,R
2680 CIRCLE (50,90),I,R
2690 CIRCLE (72,20),I,R
2700 CIRCLE (84,140),I,R
2710 CIRCLE (122,109),I,R
2720 CIRCLE (35,10),I,R
2730 RETURN
2740 FOR GZ=S TO I
2750 CIRCLE (77,87),GZ,R
2760 CIRCLE (62,70),GZ,R
2770 CIRCLE (60,108),GZ,R
2780 CIRCLE (112,153),GZ,R
2790 CIRCLE (50,90),GZ,R
2800 CIRCLE (72,20),GZ,R
2810 CIRCLE (84,140),GZ,R
2820 CIRCLE (122,109),GZ,R
2830 CIRCLE (35,10),GZ,R
2840 FOR T=1 TO 300:NEXT T
2850 NEXT GZ
2860 REM-SINGLE WARHEAD ON LA
2870 RETURN
2880 FOR GZ=S TO I
2890 CIRCLE (77,87),GZ,R
2900 FOR T=1 TO 300:NEXT T
2910 NEXT GZ
2920 FOR T=1 TO 300:NEXT T
2930 RETURN
2940 REM-sub to drop 12.5 kiloton bomb on long beach
2950 FOR GZ=S TO I
2960 CIRCLE (112,153),GZ,R
2970 FOR T=1 TO 300:NEXT T
2980 NEXT GZ
2990 REM- to clear small box
3000 LOCATE 2,21:PRINT " ";
3010 RETURN
3020 REM-sub to clear big box
3030 FOR I=5 TO 23
3040 LOCATE I,22:PRINT " ";
3050 NEXT I
3060 RETURN
3070 REM-sub to draw compass rose
3080 FOR I=20 TO 50 STEP 2:PSET (30,I),1:NEXT I
3090 FOR I=20 TO 40 STEP 4:PSET (I,35),1:NEXT I
3100 PSET (30,20),1:LINE -(27,23),1:PSET (30,20),1:LINE -(33,23),1
3110 RETURN
3120 DATA 0,-105,5,-104,10,-103,15,-104,20,-105,25,-105,30,-107
3130 DATA 35,-110,38,-115,41,-120,44,-125,46,-133,49,-136,50,-140
3140 DATA 51,-143,54,-147,55,-152,58,-156,59,-158,60,-160,58,-163
3150 DATA 56,-164,55,-166,51,-169,50,-172,51,-176,53,-178,54,-182
3160 DATA 56,-184,59,-183,60,-181,63,-183,65,-183,68,-185,70,-187
3170 DATA 77,-191,79,-190,82,-189,81,-187,82,-185,81,-180,84,-175
3180 DATA 86,-175,89,-171,88,-173,92,-172,87,-175,85,-177,84,-180
3190 DATA 84,-184,89,-179,93,-176,97,-175,98,-175,99,-177,92,-180
3200 DATA 99,-183,101,-180,103,-177,104,-170,107,-169,110,-171
3210 DATA 117,-180,121,-186,128,-190,132,-207,135,-207,135,0,0,0
3220 DATA 0,-105,888,888
3230 DATA 10,10,135,165
3240 DATA 999,999
3250 STOP